package com.ytjj.qmyx.admin.service;

import com.ytjj.common.api.CommonPage;
import com.ytjj.common.api.CommonResult;
import com.ytjj.qmyx.admin.model.Permission;
import com.ytjj.qmyx.admin.model.Role;
import com.ytjj.qmyx.admin.model.request.RoleRequest;
import com.ytjj.qmyx.admin.model.request.UpdateButtonRequest;
import com.ytjj.qmyx.admin.model.request.UpdateMenuRequest;
import com.ytjj.qmyx.admin.model.response.MenuTreeResponse;

import java.util.List;
import java.util.Map;

/**
 * 管理员接口
 *
 *
 * @version 1.0
 *
 */
public interface RoleService {

    List<Role> list();

    List<Role> list(RoleRequest roleRequest);

    List<Role> bankerListPage(RoleRequest roleRequest);

    List<Role> adminList();

    List<Role> bankerList();

    int create(Role role);

    int bankerCreate(Role role);

    int update(Role role);

    int delete(List<Integer> ids);

    List<Permission> getPermissionListById(Integer roleId);

    int updatePermission(Integer roleId,List<Integer> permissionIds);

    Map<String,Object> getMenuListById(Integer roleId);

    int updateMenu(UpdateMenuRequest updateMenuRequest);

    List<Map<String,Object>> buttonList(Integer roleId);

    int updateButton(UpdateButtonRequest updateButtonRequest);

    int deleteIsExist(Integer id);

    int RoleList(Integer id);

    int updateStatusById(Integer id, Integer status);

    List<Role> selectByRoleCode(String roleCode);

    List<Role> selectByRoleName(String roleName);

    Integer deleteAll();
}
